#include <iostream>
using namespace std;
#include <cstdlib>
#include <iomanip>

#if 0
设计一个时钟类，实现时钟的运行。 
数据包含：时，分，秒； 
成员函数： 
（1）      构造函数：初始化起始时间； 
（2）      显示函数：显示时间，并实现刷新； 
（3）      计时函数：实现计时功能； 
（4）      时钟运行函数：循环调用显示和计时函数，实现时钟运行。 
#endif

class Clock{
private:
	int 	hour;
	int 	min;
	int 	sec;
public:
	Clock(int hour, int min, int sec);			//构造
	//显示函数
	void show();
	//计时函数
	void getTime();
	//运行函数
	void run();
};

Clock::Clock(int hour, int min, int sec)
	:hour(hour),
	min(min),
	sec(sec)
{

}

void Clock::show()
{
	cout << setw(2) << setfill('0')<< hour << " : " 
		<< setfill('0') << setw(2) << min << " : " 
		<< setfill('0') << setw(2) <<sec << endl;
}

void Clock::getTime()
{
	//23:59:59 + 1
	//秒针的处理
	sec++;
	if(sec > 59){
		sec = 0;
		min++;
	}
	//分针的处理
	if(min > 59){
		min = 0;
		hour++;
	}
	//时针的处理
	if(hour > 23){
		hour = 0;
	}
	

}

void Clock::run()
{
	while(1){
		system("clear");
		this->show();
		this->getTime();
		sleep(1);
	}
}


int main(void)
{
	Clock c(23, 59, 55);
	c.run();

	return 0;
}
